C++ STL : Custom sorting one vector based on contents of another
全部标签💓博主CSDN主页:杭电码农-NEO💓 ⏩专栏分类:C++从入门到精通⏪ 🚚代码仓库:NEO的学习日记🚚 🌹关注我🫵带你学习C++ 🔝🔝vector1.前言2.熟悉vector的接口函数2.1vector的构造与拷贝构造2.2vector迭代器的使用2.3vector空间相关函数2.4vector的增删查改2.41find,swap和sort2.42insert和erase2.43随机访问operator[]3.vector的模拟实现3.1vector容量相关函数3.11reverse函数3.12resize函数3.2vector的构造函数3.3vector的析构函数3.4vector的拷贝构
STL---list一、list的介绍二、list的模拟实现1.list节点类2.list迭代器类(1)前置++(2)后置++(3)前置--、后置--(4)!=和==运算符重载(5)*解引用重载和->重载3.list类(1)迭代器(2)修改相关的接口swap()insert()erase()push_back、push_front、pop_back、pop_frontclear()(3)空链表初始化(4)构造函数(5)拷贝构造函数(6)赋值运算符重载(7)析构函数4.打印容器的接口(1)打印链表整型的接口(2)打印list的接口(3)打印容器的接口一、list的介绍list是可以在常数范围内在
阅读导航前言一、deque简介1.概念2.特点二、deque使用1.基本操作(增、删、查、改)2.底层结构三、deque的缺陷四、为什么选择deque作为stack和queue的底层默认容器总结温馨提示前言文章绑定了VS平台下std::deque的源码,大家可以下载了解一下😍前面我们讲了C语言的基础知识,也了解了一些数据结构,并且讲了有关C++的命名空间的一些知识点以及关于C++的缺省参数、函数重载,引用和内联函数也认识了什么是类和对象以及怎么去new一个‘对象’,以及学习了几个STL的结构也相信大家都掌握的不错,接下来博主将会带领大家继续学习有关C++比较重要的知识点——deque(STL)
文章目录1、前言2、情况一:底层空间改变的操作3、情况二:指定位置元素的删除操作4、g++编译器对迭代器失效检测4.1扩容4.2erase删除任意位置(非尾删)4.3erase尾删5、总结1、前言**迭代器的主要作用就是让算法能够不用关心底层数据结构,其底层实际就是一个指针,或者是对指针进行了封装,比如:string的迭代器就是原生指针char,vector的迭代器就是原生态指针T。因此迭代器失效,实际就是迭代器底层对应指针所指向的空间被销毁了,而使用一块已经被释放的空间,造成的后果是程序崩溃(即如果继续使用已经失效的迭代器,程序可能会崩溃)。对迭代器失效我们了解了,那么现在我们就分析,在ve
文章目录前情回顾常用集合算法set_intersectionset_unionset_difference最后一座石碑倒下,爬塔结束一点废话🎉welcome🎉✒️博主介绍:一名大一的智能制造专业学生,在学习C/C++的路上会越走越远,后面不定期更新有关C/C++语法,数据结构,算法,Linux,ue5使用,制作游戏的心得,和大家一起共同成长。✈️C++专栏:C++爬塔日记😘博客制作不易,👍点赞+⭐收藏+➕关注前情回顾在上一块石碑中,我学到了,同时下一块石碑也显露出来…🚄上章地址:第九章(15):STL之常用算术生成算法常用集合算法常用集合算法是用于得出两个容器的交集并集和差集的,有三个:set
✅主页:我的代码爱吃辣📃知识讲解:C++之STL🔥创作者:我的代码爱吃辣☂️开发环境:VisualStudio2022💬前言:上次我们已经数字会用了vector,这次我们对其底层更深一步挖掘,其中重点是,Vector中一些深浅拷贝问题。目录一.Vector模拟实现的整体框架二.Vector的构造与析构三.size(),capacity() 四.reserve(),resize()1.reserve()2.resize五.push_back(),pop_back()1.push_back()2.pop_back()六.Vector的迭代器 七.operator[] 八.insert(),eras
文章目录前言1.对之前实现的红黑树进行一些补充和完善1.1析构1.2查找2.STL源码中map和set的实现3.改造红黑树+封装map和set3.1红黑树结构修改3.2map、set的结构定义3.3insert的封装3.4insert测试3.5发现问题并解决3.6红黑树迭代器实现3.7封装set和map的迭代器并测试3.8map的[]重载3.9元素可以修改的问题解决4.代码展示4.1RBTree.h4.2Map.h4.3Set.h4.4Test.cpp前言前面的文章我们学习了红黑树,也提到了C++STL中的map和set的底层其实就是用的红黑树来实现的(而map和set的使用我们前面也学过了)
💓博主CSDN主页:杭电码农-NEO💓 ⏩专栏分类:C++从入门到精通⏪ 🚚代码仓库:NEO的学习日记🚚 🌹关注我🫵带你学习C++ 🔝🔝STL标准库1.前言2.STL库的版本以及缺陷3.STL库的六大组件4.string的使用4.1string类对象常见构造5.string类对象的容量操作5.1size和capacity接口函数5.2empty和clear函数5.3resize和reserve函数6.迭代器以及string的访问和遍历6.1运算符重载[]6.2反向迭代器和范围for7.string类对象的修改操作7.1c_str和find函数8.insert和erase函数9.总结以及拓展1.
目录一.stack介绍 二.stack使用三.stack模拟实现普通版本:适配器版本:四.queue的介绍五.queue使用六.queue模拟实现七.deque介绍1.容器适配器2.deque的简单介绍3.deque的缺陷4.为什么选择deque作为stack和queue的底层默认容器一.stack介绍stack------reference1.stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。2.stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其